package com.wnxy.carl.carlorderassembly.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 订单表
 * </p>
 *
 * @author Lucas
 * @since 2021-11-12
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("carl_order")
public class Order implements Serializable {

    private static final long serialVersionUID=1L;

    @TableId(value = "order_id", type = IdType.AUTO)
    private Integer orderId;

    /**
     * 订单号
     */
    private String orderNumber;

    /**
     * 订单类型：0 商品订单 | 1 服务订单
     */
    private Integer orderType;
    /**
     *  服务订单类型：0 换轮胎 | 1 保养 | 2 洗车 | 3 改装
     */
    private Integer orderServeType;

    /**
     * 门店表id
     */
    private Integer storeId;

    /**
     * 门店名字
     */
    private String storeName;

    /**
     * 用表户id
     */
    private Integer userId;

    /**
     * 收货人姓名
     */
    private String consignee;

    /**
     * 收货人电话
     */
    private String contactNumber;

    /**
     * 收货人地址信息
     */
    private String contactAddress;

    /**
     * 优惠卷id
     */
    private Integer couponNumber;

    /**
     * 优惠卷金额
     */
    private Double couponAmount;

    /**
     * 付款方式：1 线上付款 | 2 到店付款 | 3 积分兑换
     */
    private Integer paymentMethod;

    /**
     * 定金
     */
    private Double deposit;

    /**
     *  定金状态(到店付款才会关注)：0 未支付 | 1 已支付
     */
    private Integer depositStatus;

    /**
     * 获得积分
     */
    @TableField("gainIntegral")
    private Integer gainIntegral;

    /**
     * 配送方式(快递商家)
     */
    private String distributionMode;

    /**
     * 付款时间
     */
    private Long paymentTime;

    /**
     * 创建时间
     */
    private Long createTime;

    /**
     * 消费积分
     */
    private Integer consumptionPoints;
    /**
     * 商品数量
     */
    private Integer goodsNumber;

    /**
     * 商品总价
     */
    private Double goodsTotal;

    /**
     * 服务费
     */
    private Double serviceCharge;

    /**
     * 运费
     */
    private Double freight;

    /**
     * 订单总价
     */
    private Double orderTotal;

    /**
     * 订单状态:0 未支付 | 1 已付款 | 2 已取消
     */
    private Integer orderStatus;

    /**
     * 服务状态：0 未发货 | 1 已发货 | 2 已收货
     */
    private Integer receivingStatus;

    /**
     * 售后状态: 0 未售后 | 1 售后申请中 | 2 售后处理中 | 3 售后完成
     */
    private Integer saleStatus;

    /**
     * 商品订单售后表id
     */
    private Integer saleReceivingId;

    /**
     * 记录新增时间
     */
    private Date rawAddTime;

    /**
     * 记录修改时间
     */
    private Date rawUpdateTime;


}
